Logic Program Specialisation With Deletion of Useless Clauses

نویسندگان

  • D. Andre de Waal
  • John P. Gallagher
چکیده

In this paper we describe a method of program specialisation and give an extended example of its application to specialisation of a refutation proof procedure for rst order logic. In the specialisation method, a partial evaluation of the proof procedure with respect to a given theory is rst obtained. Secondly an abstract interpretation of the partially evaluated program is computed, and this is used to detect and remove clauses that yield no solutions useless clauses. A proof is given that such clauses can be deleted from a normal program while preserving the results of all nite computations. The model elimination proof procedure described in 20 is specialised with respect to given theories, and the negative ancestor check inference rule can be eliminated in cases where it is not relevant. Our results for the model elimination prover, obtained by general-purpose transformations, are comparable to those obtained in 200 by a special-purpose analysis. It is shown that specialisations of the proof procedure can be achieved that cannot be obtained by partial evaluation. The method is applicable to any normal program, and thus provides an extension of the power of partial evaluation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Logic Program Specialisation with Deletion of Useless Clauses 1

In this paper we describe a method of program specialisation and give an extended example of its application to specialisation of a refutation proof procedure for rst order logic. In the specialisation method, a partial evaluation of the proof procedure with respect to a given theory is rst obtained. Secondly an abstract interpretation of the partially evaluated program is computed, and this is...

متن کامل

Bottom up Specialisation: towards General Foundations ?

In this abstract, we develop a solid theoretical foundation for a bottom-up program specialisation technique, capable of specialising a logic program w.r.t. a set of unit clauses. Extending a well-known operator, originally introduced for composing logic programs, we deene a bottom-up partial deduction operator and prove correctness of the transformation with respect to the S-semantics.

متن کامل

A Framework for Bottom Up Specialisation of Logic Programs

In this paper, we develop a solid theoretical foundation for a bottom up program transformation, capable of specialising a logic program with respect to a set of unit clauses. Extending a well-known operator , originally introduced for composing logic programs, we deene a bottom up partial deduction operator and prove correctness of the transformation with respect to the S-semantics. We also sh...

متن کامل

Specialising The OtherWay Around

In this paper, we present a program transformation based on bottom up evaluation of logic programs. We explain that using this technique, programs can be \specialised" w.r.t. a set of unit clauses instead of a query. Moreover, examples indicate that excellent specialisation can be obtained when this bottom up transformation is combined with a more traditional top down approach, resulting in con...

متن کامل

Program Specialisation and Abstract Interpretation Reconciled Program Specialisation and Abstract Interpretation Reconciled Program Specialisation and Abstract Interpretation Reconciled

We clarify the relationship between abstract interpretation and program spe-cialisation in the context of logic programming. We present a generic top-down abstract specialisation framework, along with a generic correctness result, into which a lot of the existing specialisation techniques can be cast. The framework also shows how these techniques can be further improved by moving to more re-ned...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993